package main

import (
	"fmt"
	"sync"
)

//因为 两个协程都被卡住，主协程的wait会一直执行不了，也被卡住，所以报死锁的错
func main() {
	ch1 := make(chan int)
	ch2 := make(chan int)
	var wg sync.WaitGroup
	wg.Add(2)
	go func() {
		<-ch1
		ch2 <- 10
		wg.Done()
	}()
	go func() {
		<-ch2
		ch1 <- 10
		wg.Done()
	}()
	wg.Wait()
	fmt.Println("main over")
}
